home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 23 / AACD 23.iso / AACD / Magazine / PC2Amiga / Samba / docs / history < prev    next >
Text File  |  1998-10-28  |  11KB  |  219 lines

  1. Contributor:    Andrew Tridgell and the Samba Team
  2. Date:        June 27, 1997
  3. Satus:        Always out of date! (Would not be the same without it!)
  4.  
  5. Subject:    A bit of history and a bit of fun
  6. ============================================================================
  7.  
  8. This is a short history of this project. It's not supposed to be
  9. comprehensive, just enough so that new users can get a feel for where
  10. this project has come from and maybe where it's going to.
  11.  
  12. The whole thing really started in December 1991. I was (and still am)
  13. a PhD student in the Computer Sciences Laboratory at the Australian
  14. National University, in Canberra, Australia. We had just got a
  15. beta copy of eXcursion from Digital, and I was testing it on my PC. At
  16. this stage I was a MS-DOS user, dabbling in windows.
  17.  
  18. eXcursion ran (at the time) only with Dec's `Pathworks' network for
  19. DOS. I had up till then been using PC-NFS to connect to our local sun
  20. workstations, and was reasonably happy with it. In order to run
  21. pathworks I had to stop using PC-NFS and try using pathworks to mount
  22. disk space. Unfortunately pathworks was only available for digital
  23. workstations running VMS or Ultrix so I couldn't mount from the suns
  24. anymore.
  25.  
  26. I had access to a a decstation 3100 running Ultrix that I used to
  27. administer, and I got the crazy notion that the protocol that
  28. pathworks used to talk to ultrix couldn't be that hard, and maybe I
  29. could work it out. I had never written a network program before, and
  30. certainly didn't know what a socket was.
  31.  
  32. In a few days, after looking at some example code for sockets, I
  33. discovered it was pretty easy to write a program to "spy" on the file
  34. sharing protocol. I wrote and installed this program (the sockspy.c
  35. program supplied with this package) and captured everything that the
  36. pathworks client said to the pathworks server.
  37.  
  38. I then tried writing short C programs (using Turbo C under DOS) to do
  39. simple file operations on the network drive (open, read, cd etc) and
  40. looked at the packets that the server and client exchanged. From this
  41. I worked out what some of the bytes in the packets meant, and started
  42. to write my own program to do the same thing on a sun.
  43.  
  44. After a day or so more I had my first successes and actually managed
  45. to get a connection and to read a file. From there it was all
  46. downhill, and a week later I was happily (if a little unreliably)
  47. mounting disk space from a sun to my PC running pathworks. The server
  48. code had a lot of `magic' values in it, which seemed to be always
  49. present with the ultrix server. It was not till 2 years later that I
  50. found out what all these values meant.
  51.  
  52. Anyway, I thought other people might be interested in what I had done,
  53. so I asked a few people at uni, and noone seemed much interested. I
  54. also spoke to a person at Digital in Canberra (the person who had
  55. organised a beta test of eXcursion) and asked if I could distribute
  56. what I'd done, or was it illegal. It was then that I first heard the
  57. word "netbios" when he told me that he thought it was all covered by a
  58. spec of some sort (the netbios spec) and thus what I'd done was not
  59. only legal, but silly.
  60.  
  61. I found the netbios spec after asking around a bit (the RFC1001 and
  62. RFC1002 specs) and found they looked nothing like what I'd written, so
  63. I thought maybe the Digital person was mistaken. I didn't realise RFCs
  64. referred to the name negotiation and packet encapsulation over TCP/IP,
  65. and what I'd written was really a SMB implementation.
  66.  
  67. Anyway, he encouraged me to release it so I put out "Server 0.1" in
  68. January 1992. I got quite a good response from people wanting to use
  69. pathworks with non-digital unix workstations, and I soon fixed a few
  70. bugs, and released "Server 0.5" closely followed by "Server 1.0". All
  71. three releases came out within about a month of each other.
  72.  
  73. At this point I got an X Terminal on my desk, and I no longer needed eXcursion
  74. and I prompty forgot about the whole project, apart from a few people
  75. who e-mailed me occasionally about it.
  76.  
  77. Nearly two years then passed with just occasional e-mails asking about
  78. new versions and bugs. I even added a note to the ftp site asking for
  79. a volunteer to take over the code as I no longer used it. No one
  80. volunteered.
  81.  
  82. During this time I did hear from a couple of people who said it should
  83. be possible to use my code with Lanmanager, but I never got any
  84. definite confirmation.
  85.  
  86. One e-mail I got about the code did, however, make an impression. It
  87. was from Dan Shearer at the university of South Australia, and he said
  88. this:
  89.  
  90.  
  91.     I heard a hint about a free Pathworks server for Unix in the
  92.     Net channel of the Linux list. After quite a bit of chasing
  93.     (and lots of interested followups from other Linux people) I
  94.     got hold of a release news article from you, posted in Jan 92,
  95.     from someone in the UK.
  96.  
  97.     Can you tell me what the latest status is? I think you might
  98.     suddenly find a whole lot of interested hackers in the Linux
  99.     world at least, which is a place where things tend to happen
  100.     fast (and even some reliable code gets written, BION!)
  101.  
  102. I asked him what Linux was, and he told me it was a free Unix for PCs.
  103. This was in November 1992 and a few months later I was a Linux
  104. convert! I still didn't need a pathworks server though, so I didn't do
  105. the port, but I think Dan did.
  106.  
  107. At about this time I got an e-mail from Digital, from a person working
  108. on the Alpha software distribution. He asked if I would mind if they
  109. included my server with the "contributed" cd-rom. This was a bit of a
  110. shock to me as I never expected Dec to ask me if they could use my
  111. code! I wrote back saying it was OK, but never heard from him again. I
  112. don't know if it went on the cd-rom.
  113.  
  114. Anyway, the next big event was in December 1993, when Dan again sent
  115. me an e-mail saying my server had "raised its ugly head" on
  116. comp.protocols.tcpip.ibmpc. I had a quick look on the group, and was
  117. surprised to see that there were people interested in this thing.
  118.  
  119. At this time a person from our computer center offered me a couple of
  120. cheap ethernet cards (3c505s for $15 each) and coincidentially someone
  121. announced on one of the Linux channels that he had written a 3c505
  122. driver for Linux. I bought the cards, hacked the driver a little and
  123. setup a home network between my wifes PC and my Linux box. I then
  124. needed some way to connect the two, and I didn't own PC-NFS at home,
  125. so I thought maybe my server could be useful. On the newsgroup among
  126. the discussions of my server someone had mentioned that there was a
  127. free client that might work with my server that Microsoft had put up
  128. for ftp. I downloaded it and found to my surprise that it worked first
  129. time with my `pathworks' server!
  130.  
  131. Well, I then did a bit of hacking, asked around a bit and found (I
  132. think from Dan) that the spec I needed was for the "SMB" protocol, and
  133. that it was available via ftp. I grabbed it and started removing all
  134. those ugly constants from the code, now that all was explained.
  135.  
  136. On December 1st 1993 I announced the start of the "Netbios for Unix"
  137. project, seeding the mailing list with all the people who had e-mailed
  138. me over the years asking about the server.
  139.  
  140. About 35 versions (and two months) later I wrote a short history of
  141. the project, which you have just read. There are now over a hundred
  142. people on the mailing list, and lots of people report that they use
  143. the code and like it. In a few days I will be announcing the release
  144. of version 1.6 to some of the more popular (and relevant) newsgroups.
  145.  
  146.  
  147. Andrew Tridgell
  148. 6th February 1994
  149.  
  150. ---------------------
  151.  
  152. It is now May 1995 and there are about 1400 people on the mailing
  153. list. I got downloads from the main Samba ftp site from around 5000
  154. unique hosts in a two month period. There are several mirror
  155. sites as well. The current version number is 1.9.13.
  156.  
  157. ---------------------
  158.  
  159.  
  160. ---------------------
  161. It's now March 1996 and version 1.9.16alpha1 has just been
  162. released. There have been lots of changes recently with master browser
  163. support and the ability to do domain logons etc. Samba has also been
  164. ported to OS/2, the amiga and NetWare. There are now 3000 people on
  165. the samba mailing list.
  166. ---------------------
  167.  
  168.  
  169. ---------------------
  170. It's now June 1997 and samba-1.9.17 is due out soon. My how time passes!
  171. Please refer to the WHATSNEW.txt for an update on new features. Just when
  172. you think you understand what is happening the ground rules change - this
  173. is a real world after all. Since the heady days of March 1996 there has
  174. been a concerted effort within the SMB protocol using community to document
  175. and standardize the protocols. The CIFS initiative has helped a long way
  176. towards creating a better understood and more interoperable environment.
  177. The Samba Team has grown in number and have been very active in the standards
  178. formation and documentation process.
  179.  
  180. The net effect has been that we have had to do a lot of work to bring Samba
  181. into line with new features and capabilities in the SMB protocols.
  182.  
  183. The past year has been a productive one with the following releases:
  184.     1.9.16, 1.9.16p2, 1.9.16p6, 1.9.16p9, 1.9.16p10, 1.9.16p11
  185.  
  186. There are some who believe that 1.9.15p8 was the best release and others
  187. who would not want to be without the latest. Whatever your perception we
  188. hope that 1.9.17 will close the gap and convince you all that the long
  189. wait and the rolling changes really were worth it. Here is functionality
  190. and a level of code maturity that ..., well - you can be the judge!
  191.  
  192. Happy SMB networking!
  193. Samba Team
  194.  
  195. ps: The bugs are ours, so please report any you find.
  196. ---------------------
  197.  
  198. ---------------------
  199. It's now October 1998. We just got back from the 3rd CIFS conference
  200. in SanJose. The Samba Team was the biggest contingent there.
  201.  
  202. Samba 2.0 should be shipping in the next few weeks with much better
  203. domain controller support, GUI configuration, a new user space SMB
  204. filesystem and lots of other neat stuff. I've also noticed that a
  205. search of job ads in DejaNews turned up 3900 that mention Samba. Looks
  206. like we've created a small industry.
  207.  
  208. I've been asked again where the name Samba came from. I might as well
  209. put it down here for everyone to read. The code in Samba was first
  210. called just "server", it then got renamed "smbserver" when I
  211. discovered that the protocol is called SMB. Then in April 1994 I got
  212. an email from Syntax, the makers of "TotalNet advanced Server", a
  213. commercial SMB server. They told me that they had a trademark on the
  214. name SMBserver and I would have to change the name. I ran an egrep for
  215. words containing S, M, and B on /usr/dict/words and the name Samba
  216. looked like the best choice. Strangely enough when I repeat that now I
  217. notice that Samba isn't in /usr/dict/words on my system anymore! 
  218. ---------------------
  219.